/*
 * Output.h
 *
 *  Created on: Jan 13, 2012
 *      Author: luiz
 */

#ifndef OUTPUT_H_
#define OUTPUT_H_

#include "Samples.h"

class Output
{
   // std::vector<Samples> outputs;
    std::vector<double> expected_outputs_;
    std::string cell_name_;
//   / int cell_id_;

public:
    Output(std::string name);
    virtual ~Output();

    void add_expected_ouput(double expected_value);
    int get_size_of_ouput_list();
    double get_expected_output_by_list_id(int i);

    void set_cell_id(int id);
    int cell_id();

    std::string cell_name();
    void set_cell_name(std::string name);

    std::vector<Samples> generate_samples(Samples & sample,Samples & clock_sample,int num_inputs, int shift);
};

#endif /* OUTPUT_H_ */
